In many current computing environments, it is common to implement a plurality of heterogeneous computing systems whereby several different platforms/operating systems are implemented. For example, in an environment having eight computing systems (e.g., one mainframe and seven clients), it could be the case that the mainframe contains a z/OS operating system, while three clients contain AIX operating systems, and the four other clients contain Windows-based operating systems. With such platform disparity, performing basic tasks such as data conversion can often be complex and work intensive.
For example, assume that there is a requirement in the above environment to have Computer-Aided Design (CAD) data transformed/converted between data formats. For example, original CAD data could have to be converted to Postscript and then to PDF. Under current implementations, the data could have to be moved between all three platforms for complete transformation to occur. That is, to accomplish such a transformation under existing systems, the original CAD data could have to be moved from the z/OS-based mainframe to one of the AIX-based clients so that Postscript conversion can occur. Next, the resulting Postscript data would have to be moved to one of the Windows-based client so that PDF conversion can occur. No existing system minimizes the number of movements that must occur while controlling how many processes run on each machine.
In view of the foregoing, there exists a need for a method, system and program product for managing a workload on a plurality of heterogeneous computing systems. Specifically, a need exists for managing a workload in a cluster of computing systems having multiple different platforms, whereby the number of data movements is minimized. A further need exists for such a system to control a number of processes that execute (in parallel) on each system.